use std::cell::RefCell;
use std::rc::Rc;

pub enum VMClassAttrEnum {
    VMClassAttrCode { val: Rc<VMClassAttrCode> },
    VMClassAttrCodeInvalid { val: Rc<VMClassAttrCodeInvalid> },
}

pub struct VMClassAttrCodeInvalid {}

pub const VMCLASS_ATTR_CODE_INVALID: VMClassAttrCodeInvalid = VMClassAttrCodeInvalid {};

pub struct VMClassAttrCode {
    pub max_stack: u16,
    pub max_locals: u16,
    pub args_count: u16,
    pub code: Rc<RefCell<Vec<u8>>>,
    // exception_table: RefCell<Vec<AttributeInfoCodeExceptionTableEntry>>,
    // attributes: RefCell<Vec<AttributeInfoEnum>>,
}
